/**
 * fetch:
 *
 * 入参：
 *
 * @param url
 * @param method
 * @param data -参数  { page:1,size:5 } => page=1&size=5
 *
 * 出参：
 * @param resolve
 * @param reject
 *
 * promise有几个状态：pedding => resolve / pedding => reject
 * promise特点：状态不可逆
 *
 * @param data-post参数， params 是get参数
 *
 */
export const fetch = ({ url, method = 'GET', data }) => {
  return new Promise((resolve, reject) => {
    // 1. 展示loading
    uni.showLoading()
    uni.request({
      url,
      method,
      data,
      success: res => {
        // 2. 关闭loading
        uni.hideLoading()
        resolve(res)
      },
      fail: error => {
        console.log(error, 'error')
        // 3. 展示失败提示框
        uni.showToast({ title: error })
        reject(error)
      }
    })
  })
}
